/* SPDX-License-Identifier: Apache-2.0 */

/* SoC level DTS fixup file */

#define DT_NUM_IRQ_PRIO_BITS		DT_ARM_V6M_NVIC_E000E100_ARM_NUM_IRQ_PRIORITY_BITS

#define DT_GPIO_STM32_GPIOA_BASE_ADDRESS	DT_ST_STM32_GPIO_50000000_BASE_ADDRESS
#define DT_GPIO_STM32_GPIOA_CLOCK_BITS_0	DT_ST_STM32_GPIO_50000000_CLOCK_BITS_0
#define DT_GPIO_STM32_GPIOA_CLOCK_BUS_0		DT_ST_STM32_GPIO_50000000_CLOCK_BUS_0
#define DT_GPIO_STM32_GPIOA_CLOCK_CONTROLLER	DT_ST_STM32_GPIO_50000000_CLOCK_CONTROLLER
#define DT_GPIO_STM32_GPIOA_LABEL		DT_ST_STM32_GPIO_50000000_LABEL
#define DT_GPIO_STM32_GPIOA_SIZE		DT_ST_STM32_GPIO_50000000_SIZE
#define DT_GPIO_STM32_GPIOA_CLOCK_BITS		DT_ST_STM32_GPIO_50000000_CLOCK_BITS
#define DT_GPIO_STM32_GPIOA_CLOCK_BUS		DT_ST_STM32_GPIO_50000000_CLOCK_BUS

#define DT_GPIO_STM32_GPIOB_BASE_ADDRESS	DT_ST_STM32_GPIO_50000400_BASE_ADDRESS
#define DT_GPIO_STM32_GPIOB_CLOCK_BITS_0	DT_ST_STM32_GPIO_50000400_CLOCK_BITS_0
#define DT_GPIO_STM32_GPIOB_CLOCK_BUS_0		DT_ST_STM32_GPIO_50000400_CLOCK_BUS_0
#define DT_GPIO_STM32_GPIOB_CLOCK_CONTROLLER	DT_ST_STM32_GPIO_50000400_CLOCK_CONTROLLER
#define DT_GPIO_STM32_GPIOB_LABEL		DT_ST_STM32_GPIO_50000400_LABEL
#define DT_GPIO_STM32_GPIOB_SIZE		DT_ST_STM32_GPIO_50000400_SIZE
#define DT_GPIO_STM32_GPIOB_CLOCK_BITS		DT_ST_STM32_GPIO_50000400_CLOCK_BITS
#define DT_GPIO_STM32_GPIOB_CLOCK_BUS		DT_ST_STM32_GPIO_50000400_CLOCK_BUS

#define DT_GPIO_STM32_GPIOC_BASE_ADDRESS	DT_ST_STM32_GPIO_50000800_BASE_ADDRESS
#define DT_GPIO_STM32_GPIOC_CLOCK_BITS_0	DT_ST_STM32_GPIO_50000800_CLOCK_BITS_0
#define DT_GPIO_STM32_GPIOC_CLOCK_BUS_0		DT_ST_STM32_GPIO_50000800_CLOCK_BUS_0
#define DT_GPIO_STM32_GPIOC_CLOCK_CONTROLLER	DT_ST_STM32_GPIO_50000800_CLOCK_CONTROLLER
#define DT_GPIO_STM32_GPIOC_LABEL		DT_ST_STM32_GPIO_50000800_LABEL
#define DT_GPIO_STM32_GPIOC_SIZE		DT_ST_STM32_GPIO_50000800_SIZE
#define DT_GPIO_STM32_GPIOC_CLOCK_BITS		DT_ST_STM32_GPIO_50000800_CLOCK_BITS
#define DT_GPIO_STM32_GPIOC_CLOCK_BUS		DT_ST_STM32_GPIO_50000800_CLOCK_BUS

#define DT_GPIO_STM32_GPIOD_BASE_ADDRESS	DT_ST_STM32_GPIO_50000C00_BASE_ADDRESS
#define DT_GPIO_STM32_GPIOD_CLOCK_BITS_0	DT_ST_STM32_GPIO_50000C00_CLOCK_BITS_0
#define DT_GPIO_STM32_GPIOD_CLOCK_BUS_0		DT_ST_STM32_GPIO_50000C00_CLOCK_BUS_0
#define DT_GPIO_STM32_GPIOD_CLOCK_CONTROLLER	DT_ST_STM32_GPIO_50000C00_CLOCK_CONTROLLER
#define DT_GPIO_STM32_GPIOD_LABEL		DT_ST_STM32_GPIO_50000C00_LABEL
#define DT_GPIO_STM32_GPIOD_SIZE		DT_ST_STM32_GPIO_50000C00_SIZE
#define DT_GPIO_STM32_GPIOD_CLOCK_BITS		DT_ST_STM32_GPIO_50000C00_CLOCK_BITS
#define DT_GPIO_STM32_GPIOD_CLOCK_BUS		DT_ST_STM32_GPIO_50000C00_CLOCK_BUS

#define DT_GPIO_STM32_GPIOE_BASE_ADDRESS	DT_ST_STM32_GPIO_50001000_BASE_ADDRESS
#define DT_GPIO_STM32_GPIOE_CLOCK_BITS_0	DT_ST_STM32_GPIO_50001000_CLOCK_BITS_0
#define DT_GPIO_STM32_GPIOE_CLOCK_BUS_0		DT_ST_STM32_GPIO_50001000_CLOCK_BUS_0
#define DT_GPIO_STM32_GPIOE_CLOCK_CONTROLLER	DT_ST_STM32_GPIO_50001000_CLOCK_CONTROLLER
#define DT_GPIO_STM32_GPIOE_LABEL		DT_ST_STM32_GPIO_50001000_LABEL
#define DT_GPIO_STM32_GPIOE_SIZE		DT_ST_STM32_GPIO_50001000_SIZE
#define DT_GPIO_STM32_GPIOE_CLOCK_BITS		DT_ST_STM32_GPIO_50001000_CLOCK_BITS
#define DT_GPIO_STM32_GPIOE_CLOCK_BUS		DT_ST_STM32_GPIO_50001000_CLOCK_BUS

/* there is no reference to GPIOF and GPIOG in the dts files */

#define DT_GPIO_STM32_GPIOH_BASE_ADDRESS	DT_ST_STM32_GPIO_50001C00_BASE_ADDRESS
#define DT_GPIO_STM32_GPIOH_CLOCK_BITS_0	DT_ST_STM32_GPIO_50001C00_CLOCK_BITS_0
#define DT_GPIO_STM32_GPIOH_CLOCK_BUS_0		DT_ST_STM32_GPIO_50001C00_CLOCK_BUS_0
#define DT_GPIO_STM32_GPIOH_CLOCK_CONTROLLER	DT_ST_STM32_GPIO_50001C00_CLOCK_CONTROLLER
#define DT_GPIO_STM32_GPIOH_LABEL		DT_ST_STM32_GPIO_50001C00_LABEL
#define DT_GPIO_STM32_GPIOH_SIZE		DT_ST_STM32_GPIO_50001C00_SIZE
#define DT_GPIO_STM32_GPIOH_CLOCK_BITS		DT_ST_STM32_GPIO_50001C00_CLOCK_BITS
#define DT_GPIO_STM32_GPIOH_CLOCK_BUS		DT_ST_STM32_GPIO_50001C00_CLOCK_BUS

#define DT_UART_STM32_USART_1_BASE_ADDRESS	DT_ST_STM32_USART_40013800_BASE_ADDRESS
#define DT_UART_STM32_USART_1_BAUD_RATE		DT_ST_STM32_USART_40013800_CURRENT_SPEED
#define DT_UART_STM32_USART_1_IRQ_PRI		DT_ST_STM32_USART_40013800_IRQ_0_PRIORITY
#define DT_UART_STM32_USART_1_NAME		DT_ST_STM32_USART_40013800_LABEL
#define DT_USART_1_IRQ				DT_ST_STM32_USART_40013800_IRQ_0
#define DT_UART_STM32_USART_1_CLOCK_BITS	DT_ST_STM32_USART_40013800_CLOCK_BITS
#define DT_UART_STM32_USART_1_CLOCK_BUS		DT_ST_STM32_USART_40013800_CLOCK_BUS
#define DT_UART_STM32_USART_1_HW_FLOW_CONTROL	DT_ST_STM32_USART_40013800_HW_FLOW_CONTROL

#define DT_UART_STM32_USART_2_BASE_ADDRESS	DT_ST_STM32_USART_40004400_BASE_ADDRESS
#define DT_UART_STM32_USART_2_BAUD_RATE		DT_ST_STM32_USART_40004400_CURRENT_SPEED
#define DT_UART_STM32_USART_2_IRQ_PRI		DT_ST_STM32_USART_40004400_IRQ_0_PRIORITY
#define DT_UART_STM32_USART_2_NAME		DT_ST_STM32_USART_40004400_LABEL
#define DT_USART_2_IRQ				DT_ST_STM32_USART_40004400_IRQ_0
#define DT_UART_STM32_USART_2_CLOCK_BITS	DT_ST_STM32_USART_40004400_CLOCK_BITS
#define DT_UART_STM32_USART_2_CLOCK_BUS		DT_ST_STM32_USART_40004400_CLOCK_BUS
#define DT_UART_STM32_USART_2_HW_FLOW_CONTROL	DT_ST_STM32_USART_40004400_HW_FLOW_CONTROL

#define DT_UART_STM32_LPUART_1_BASE_ADDRESS	DT_ST_STM32_LPUART_40004800_BASE_ADDRESS
#define DT_UART_STM32_LPUART_1_BAUD_RATE	DT_ST_STM32_LPUART_40004800_CURRENT_SPEED
#define DT_UART_STM32_LPUART_1_IRQ_PRI		DT_ST_STM32_LPUART_40004800_IRQ_0_PRIORITY
#define DT_UART_STM32_LPUART_1_NAME		DT_ST_STM32_LPUART_40004800_LABEL
#define DT_LPUART_1_IRQ				DT_ST_STM32_LPUART_40004800_IRQ_0
#define DT_UART_STM32_LPUART_1_CLOCK_BITS	DT_ST_STM32_LPUART_40004800_CLOCK_BITS
#define DT_UART_STM32_LPUART_1_CLOCK_BUS	DT_ST_STM32_LPUART_40004800_CLOCK_BUS
#define DT_UART_STM32_LPUART_1_HW_FLOW_CONTROL	DT_ST_STM32_LPUART_40004800_HW_FLOW_CONTROL

#define DT_I2C_1_BASE_ADDRESS		DT_ST_STM32_I2C_V2_40005400_BASE_ADDRESS
#define DT_I2C_1_COMBINED_IRQ_PRI	DT_ST_STM32_I2C_V2_40005400_IRQ_COMBINED_PRIORITY
#define DT_I2C_1_NAME		DT_ST_STM32_I2C_V2_40005400_LABEL
#define DT_I2C_1_COMBINED_IRQ		DT_ST_STM32_I2C_V2_40005400_IRQ_COMBINED
#define DT_I2C_1_BITRATE		DT_ST_STM32_I2C_V2_40005400_CLOCK_FREQUENCY
#define DT_I2C_1_CLOCK_BITS		DT_ST_STM32_I2C_V2_40005400_CLOCK_BITS
#define DT_I2C_1_CLOCK_BUS		DT_ST_STM32_I2C_V2_40005400_CLOCK_BUS

#define DT_I2C_2_BASE_ADDRESS		DT_ST_STM32_I2C_V2_40005800_BASE_ADDRESS
#define DT_I2C_2_COMBINED_IRQ_PRI	DT_ST_STM32_I2C_V2_40005800_IRQ_COMBINED_PRIORITY
#define DT_I2C_2_NAME		DT_ST_STM32_I2C_V2_40005800_LABEL
#define DT_I2C_2_COMBINED_IRQ		DT_ST_STM32_I2C_V2_40005800_IRQ_COMBINED
#define DT_I2C_2_BITRATE		DT_ST_STM32_I2C_V2_40005800_CLOCK_FREQUENCY
#define DT_I2C_2_CLOCK_BITS		DT_ST_STM32_I2C_V2_40005800_CLOCK_BITS
#define DT_I2C_2_CLOCK_BUS		DT_ST_STM32_I2C_V2_40005800_CLOCK_BUS

#define DT_I2C_3_BASE_ADDRESS		DT_ST_STM32_I2C_V2_40007800_BASE_ADDRESS
#define DT_I2C_3_COMBINED_IRQ_PRI	DT_ST_STM32_I2C_V2_40007800_IRQ_COMBINED_PRIORITY
#define DT_I2C_3_NAME		DT_ST_STM32_I2C_V2_40007800_LABEL
#define DT_I2C_3_COMBINED_IRQ		DT_ST_STM32_I2C_V2_40007800_IRQ_COMBINED
#define DT_I2C_3_BITRATE		DT_ST_STM32_I2C_V2_40007800_CLOCK_FREQUENCY
#define DT_I2C_3_CLOCK_BITS		DT_ST_STM32_I2C_V2_40007800_CLOCK_BITS
#define DT_I2C_3_CLOCK_BUS		DT_ST_STM32_I2C_V2_40007800_CLOCK_BUS

#define DT_SPI_1_BASE_ADDRESS		DT_ST_STM32_SPI_40013000_BASE_ADDRESS
#define DT_SPI_1_IRQ_PRI		DT_ST_STM32_SPI_40013000_IRQ_0_PRIORITY
#define DT_SPI_1_NAME			DT_ST_STM32_SPI_40013000_LABEL
#define DT_SPI_1_IRQ			DT_ST_STM32_SPI_40013000_IRQ_0
#define DT_SPI_1_CLOCK_BITS		DT_ST_STM32_SPI_40013000_CLOCK_BITS
#define DT_SPI_1_CLOCK_BUS		DT_ST_STM32_SPI_40013000_CLOCK_BUS

#define DT_SPI_2_BASE_ADDRESS		DT_ST_STM32_SPI_40003800_BASE_ADDRESS
#define DT_SPI_2_IRQ_PRI		DT_ST_STM32_SPI_40003800_IRQ_0_PRIORITY
#define DT_SPI_2_NAME			DT_ST_STM32_SPI_40003800_LABEL
#define DT_SPI_2_IRQ			DT_ST_STM32_SPI_40003800_IRQ_0
#define DT_SPI_2_CLOCK_BITS		DT_ST_STM32_SPI_40003800_CLOCK_BITS
#define DT_SPI_2_CLOCK_BUS		DT_ST_STM32_SPI_40003800_CLOCK_BUS

#define DT_USB_BASE_ADDRESS		DT_ST_STM32_USB_40005C00_BASE_ADDRESS
#define DT_USB_IRQ			DT_ST_STM32_USB_40005C00_IRQ_USB
#define DT_USB_IRQ_PRI			DT_ST_STM32_USB_40005C00_IRQ_USB_PRIORITY
#define DT_USB_NUM_BIDIR_ENDPOINTS	DT_ST_STM32_USB_40005C00_NUM_BIDIR_ENDPOINTS
#define DT_USB_RAM_SIZE			DT_ST_STM32_USB_40005C00_RAM_SIZE
#define DT_USB_CLOCK_BITS		DT_ST_STM32_USB_40005C00_CLOCK_BITS
#define DT_USB_CLOCK_BUS		DT_ST_STM32_USB_40005C00_CLOCK_BUS

#define DT_WDT_0_NAME			DT_INST_0_ST_STM32_WATCHDOG_LABEL

#define DT_WWDT_0_BASE_ADDRESS		DT_INST_0_ST_STM32_WINDOW_WATCHDOG_BASE_ADDRESS
#define DT_WWDT_0_NAME			DT_INST_0_ST_STM32_WINDOW_WATCHDOG_LABEL
#define DT_WWDT_0_IRQ			DT_INST_0_ST_STM32_WINDOW_WATCHDOG_IRQ_0
#define DT_WWDT_0_IRQ_PRI		DT_INST_0_ST_STM32_WINDOW_WATCHDOG_IRQ_0_PRIORITY
#define DT_WWDT_0_CLOCK_BITS		DT_INST_0_ST_STM32_WINDOW_WATCHDOG_CLOCK_BITS
#define DT_WWDT_0_CLOCK_BUS		DT_INST_0_ST_STM32_WINDOW_WATCHDOG_CLOCK_BUS

#define DT_ADC_1_BASE_ADDRESS		DT_ST_STM32_ADC_40012400_BASE_ADDRESS
#define DT_ADC_1_IRQ			DT_ST_STM32_ADC_40012400_IRQ_0
#define DT_ADC_1_IRQ_PRI		DT_ST_STM32_ADC_40012400_IRQ_0_PRIORITY
#define DT_ADC_1_NAME			DT_ST_STM32_ADC_40012400_LABEL
#define DT_ADC_1_CLOCK_BITS		DT_ST_STM32_ADC_40012400_CLOCK_BITS_0
#define DT_ADC_1_CLOCK_BUS		DT_ST_STM32_ADC_40012400_CLOCK_BUS_0

/* End of SoC Level DTS fixup file */
